package com.xbongbong.saas.model;

import com.xbongbong.paas.enums.IndexTypeEnum;
import com.xbongbong.paas.toolbox.exception.XbbException;

/**
 * @author 吴峰
 * @date 2022/04/18 17:24
 */
public interface IndexTypeModel {


    /**
     * 获取es index
     * @param corpid
     * @param businessType
     * @param saasMark
     * @return com.xbongbong.paas.enums.IndexTypeEnum
     * @author 吴峰
     * @date 2022/5/6 17:25
     * @throws XbbException
     */
    IndexTypeEnum getIndexType(String corpid, Integer businessType, Integer saasMark) throws XbbException;
    /**
     * 获取子表单 es index
     * @param corpid
     * @param businessType
     * @param saasMark
     * @return com.xbongbong.paas.enums.IndexTypeEnum
     * @author 吴峰
     * @date 2022/5/6 17:25
     * @throws XbbException
     */
    IndexTypeEnum getSubIndexType(String corpid, Integer businessType, Integer saasMark) throws XbbException;
    /**
     * 获取负责团队 es index
     * @param corpid
     * @param businessType
     * @return com.xbongbong.paas.enums.IndexTypeEnum
     * @author 吴峰
     * @date 2022/5/6 17:25
     * @throws XbbException
     */
    IndexTypeEnum getTeamIndexType(String corpid, Integer businessType) throws XbbException;

    /**
     * 客户索引
     * @param corpid
     * @param businessType
     * @param saasMark
     * @return
     * @throws XbbException
     */
    IndexTypeEnum getCustomerIndex(String corpid, Integer businessType, Integer saasMark) ;



    /**
     * 客户子表单索引
     * @param corpid
     * @param businessType
     * @param saasMark
     * @return
     * @throws XbbException
     */
    IndexTypeEnum getCustomerSubIndex(String corpid, Integer businessType, Integer saasMark) throws XbbException;


    /**
     * 客户团队索引
     * @param corpid
     * @param businessType
     * @param saasMark
     * @return
     * @throws XbbException
     */
    IndexTypeEnum getCustomerTeamIndex(String corpid, Integer businessType, Integer saasMark) ;


    IndexTypeEnum getByCode( String corpid, Integer businessType);

}
